package com.example.twotwo_project;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class Board_Adapter extends ArrayAdapter {

	String  irum[];
	String  phone[];
	Integer photo[];
	
	Context context;
	int     layout;
	LayoutInflater inflater; // 하나의 View를 만들기 위한 layout;
	
	public Board_Adapter(Context context, int textViewResourceId) {
		super(context, textViewResourceId);
		
		this.context = context;
		this.layout = textViewResourceId;
		
		/*
		 *  안드로이드에서  어떤 뷰가 화면에 보일려면 반드시 객체화(인스턴스) 되어 있어야 한다.
		 *	안드로이드에서 뷰 객체를 생성하는 과정은 크게 2가지가 있다.
	     *  1. 직접 코드상에서 생성하는 방법이 있고 Button b = new Button(this)  <-- this 는 Context 를 의미
		 *  2. 그리고 xml 파일을 통해서 객체를 생성하는 방법이 있다.
		 *  
		 */
		
		inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		
		// 데이터가 입력된 부분
		irum = new String[]{"김국6진", "네이버", "다람질", "라면", "다음", "구구팔", "다람질", "라면"};
		phone = new String[]{"010-1234-4567", "010-5332-2222", "010-2222-4444", "010-5555-2799","010-7777-5555", "010-5332-2342", "010-4222-1523", "010-4436-2799"};
		photo = new Integer[]{
				R.drawable.she01,
				R.drawable.she02,
				R.drawable.she03,
				R.drawable.she04,
				R.drawable.she05,
				R.drawable.she06,
				R.drawable.she07,
				R.drawable.she08
		};
	}

	@Override
	public long getItemId(int position) {
		// 입력된 position의 값에 해당하는 item의 id값을 반환함.
		return super.getItemId(position);
	}
	
	@Override
	public int getCount() {
		return irum.length;
	}

	@Override
	public Object getItem(int position) {
		return irum[position];
	}

	@Override
	public int getPosition(Object item) {
		// 입력된 item 을 기준으로 데이터를 조회하여 그 위치값을 반환한다.
		return super.getPosition(item);
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// 반환할 View 객체 생성
		View view = inflater.inflate(layout, null); // view가 만들어지면 이미지와 텍스트가 들어가는 리스트가 생성이 되는것이다.
		
		ImageView iv = (ImageView)view.findViewById(R.id.imageView2);
		TextView tv1 = (TextView)view.findViewById(R.id.textView3);
		TextView tv2 = (TextView)view.findViewById(R.id.textView4);
		
		iv.setImageResource(photo[position]);
		tv1.setText(irum[position]);
		tv2.setText(phone[position]);
		
		// 만들어준 view를 반환해야한다.
		return view;
		
	}

}
